#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :settings.py
# @Time      :2021/4/11 9:22
# @Author    :Letquit
"""
文件说明：
        初始化控制游戏外观和飞船速度的属性

"""


class Settings():
    """存储<alien_invasion>的所有设置类"""

    def __init__(self):
        """初始化游戏的设置"""
        # 1920
        self.screen_width = 1200
        self.screen_height = 800
        # 2560
        # self.screen_width = 1000
        # self.screen_height = 600
        self.bg_color = (230, 230, 230)

        # 飞船的设置
        self.ship_speed_factor = 1.5    # 添加属性ship_speed_factor决定飞船每次循环最多移动距离
        # 我们根本没有创建多艘飞船，在整个游戏运行期间，
        # 我们都只创建了一个飞船实例，并在该飞船被撞到时将其居中。
        # 统计信息ships_left让我们知道飞船是否用完
        self.ship_limit = 3    # 拥有的飞船数

        # 子弹设置
        self.bullet_speed_factor = 3
        self.bullet_width = 300
        self.bullet_height = 15
        self.bullet_color = 60, 60, 60
        self.bullets_allowed = 3    # 存储允许的最大子弹数

        # 外星人设置
        self.alien_speed_factor = 1
        # self.alien_speed_factor = 3
        self.fleet_drop_speed = 10  # 下移值
        # fleet_direction为1时表示向右，为-1时表示向左
        self.fleet_direction = 1

        # 计分
        self.alien_points = 50  # 击落外星人得分

        # 加快游戏节奏的速度
        self.speedup_scale = 1.1
        # 外星人点数的提高速度
        self.score_scale = 1.5

        self.initialize_dynamic_settings()  # 提高等级时提高速度

    def initialize_dynamic_settings(self):
        """初始化随游戏进行而变化的设置"""
        self.ship_speed_factor = 1.5
        self.bullet_speed_factor = 3
        self.alien_speed_factor = 1

        # fleet_direction为1时表示向右，为-1时表示向左
        self.fleet_direction = 1

    def increase_speed(self):
        """提高速度设置和外星人点数"""
        self.ship_speed_factor *= self.speedup_scale
        self.bullet_speed_factor *= self.speedup_scale
        self.alien_speed_factor *= self.speedup_scale

        self.alien_points = int(self.alien_points * self.score_scale)
        # print(self.alien_points)

if __name__ == "__main__":
    run_code = 0
